package Funcionalidad;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import java.net.URLEncoder;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class Extras {
        private static final String controlador = "com.mysql.jdbc.Driver";
    private static final String url = "jdbc:mysql://localhost/flog";
    private static final String usuario = "root";
    private static final String clave = "";

    static {
        try {
            Class.forName(controlador);
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException("Error creating driver" + " class. Cause: " + e);
        }
    }

    public static Extra ResultSetToExtra(ResultSet resultado) throws SQLException {
        return new Extra(resultado.getInt("tipo"), resultado.getString("fecha"), resultado.getString("texto"));
    }
    //devuelve la información de la parte que se le pasa como parametro.
        public static List<Extra> consultaExtra(int tipo) throws Exception {

        Connection conexion = (com.mysql.jdbc.Connection) DriverManager.getConnection(url, usuario, clave);
        List<Extra> lista = new ArrayList<Extra>();
        //solicitud/recepcion de peticiones
        Statement solicitud = (Statement) conexion.createStatement();
        ResultSet resultados = solicitud.executeQuery("SELECT * FROM extra WHERE tipo=" + tipo);
        while (resultados.next()) {
            Extra extra = Extras.ResultSetToExtra(resultados);
            lista.add(extra);
        }
        resultados.close();
        solicitud.close();
        conexion.close();
        return lista;
    }
//se actualiza la informacion de la parte que se le pasa como parametro.
    public static void updateExtra(int tipo, String texto) throws Exception {
        String tex = URLEncoder.encode(texto, "ISO-8859-1");
        Connection conexion = (com.mysql.jdbc.Connection) DriverManager.getConnection(url, usuario, clave);
        //solicitud/recepcion de peticiones
        Statement solicitud = (Statement) conexion.createStatement();
        int s = solicitud.executeUpdate("UPDATE extra SET texto='" + tex + "' WHERE tipo=" + tipo);
        int r = solicitud.executeUpdate("UPDATE extra SET fecha='" + Habituales.fechaActual() + "' WHERE tipo=" + tipo);
        solicitud.close();
        conexion.close();

    }
}
